luffy.common.StatisticsDataManager = jindo.$Class({
	_INCREASE_VISIT_URL : "/app/stat/increaseVisit.json",
	_INCREASE_USE_URL : "/app/stat/increaseUse.json",
	_ALL_COUNT_URL : "/app/stat/getAllCount.json",
	
	$init : function(){
		this._oAjax = {};
		this._oAjax.stat = new luffy.common.XHR();
		this._oAjax.stat.attach({
			"load" : jindo.$Fn(this._onResponseStat,this).bind(),
			"error" : jindo.$Fn(this._onAjaxError,this).bind(),
			"timeout" : jindo.$Fn(this._onAjaxError,this).bind()
		});
	},
	
	/**
	 * 방문증가를 한다.
	 */
	requestIncreaseVisit : function(){
		this._oAjax.stat.request("GET",this._INCREASE_VISIT_URL);
	},
	
	/**
	 * 사용증가를 한다.
	 */
	requestIncreaseUse : function(){
		this._oAjax.stat.request("GET",this._INCREASE_USE_URL);
	},
	
	/**
	 * 현재 카운트를 가져온다.
	 */
	requestAllCount : function(){
		this._oAjax.stat.request("GET",this._ALL_COUNT_URL);
	},
	
	/**
	 * 응답이 오면 에러코드가 아닐 경우 응답요청이 왔음을 요청자에게 알린다.
	 */
	_onResponseStat : function(oEvent){
		var oResponse = oEvent.response.json();
		if(oResponse.error){
			this._onAjaxError(oEvent);
			return;
		}
		var oData = oResponse.result.data;
		this.fireEvent("recieveStat",{"oData" : oData});
	},
	
	_onAjaxError : function(oEvent){
		this.fireEvent("failRequest",{"error" : oEvent.response.json().error});
	}		
	
}).extend(nhn.Component);